// 测试DELETE请求的参数传递方式
import axios from 'axios';

// 创建测试函数
async function testDeleteParams() {
  try {
    console.log('=== 测试DELETE请求参数传递 ===');
    
    // 准备测试数据
    const testIds = [1, 2, 3];
    
    // 测试方案1: 使用params参数
    console.log('\n测试方案1: 使用params参数');
    const config1 = {
      params: { ids: testIds },
      // 添加请求拦截器以查看实际发送的请求URL
      transformRequest: [(data, headers) => {
        console.log('请求配置1:', {
          url: '/carts/delete',
          method: 'delete',
          params: { ids: testIds },
          headers
        });
        return data;
      }]
    };
    
    try {
      // 注意：这里使用实际的开发服务器地址，需要确保服务器正在运行
      // 可能会失败，但我们主要看请求配置
      await axios.delete('http://localhost:5173/carts/delete', config1);
    } catch (error) {
      console.log('测试1完成，即使报错也没关系，我们主要检查参数传递方式');
    }
    
    // 测试方案2: 直接在URL中拼接查询参数
    console.log('\n测试方案2: 直接在URL中拼接查询参数');
    const queryString = `ids=${testIds.join(',')}`;
    const urlWithParams = `http://localhost:5173/carts/delete?${queryString}`;
    
    try {
      // 同样，可能会失败，但主要看URL格式
      await axios.delete(urlWithParams);
      console.log('使用的URL:', urlWithParams);
    } catch (error) {
      console.log('测试2完成，使用的URL:', urlWithParams);
    }
    
  } catch (error) {
    console.error('测试过程中出现错误:', error.message);
  }
}

// 执行测试
testDeleteParams();